{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2D Linear Inversion of Crosswell Tomography Data "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from geoscilabs.inversion.TomographyInversion import TomographyInversionApp\n",
    "import matplotlib.pyplot as plt\n",
    "from ipywidgets import interact, IntSlider\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Purpose\n",
    "\n",
    "From the Linear inversion notebook (1D), we learned important apsects about the linear inversion. \n",
    "However, real world geophysical inverse problem are not often 1D, but multidimensional (2D or 3D), and this extension of dimension allows us to put more apriori (or geologic) information through the regularization term. \n",
    "In this notebook, we explore these multidimensional aspects of the linear inversion by using 2D traveltime croswell tomography example. \n",
    "\n",
    "## Outline\n",
    "This notebook includes four steps:\n",
    "- Step1: Generate a velocity model\n",
    "- Step2: Simulate traveltime data and add noise\n",
    "- Step3: Run $l_2$ inversion"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step1: Generate a velocity model\n",
    "\n",
    "Here we set up a velocity model using a following app. Controlling parameters of the app are:\n",
    "\n",
    "- `set mesh`: use active **only** when you want to change the 2D mesh\n",
    "- `add block`: use active when you want to add block (if not stay inactive)\n",
    "- `model type`: background or block\n",
    "- `show grid?`: show grid of the mesh\n",
    "\n",
    "- `v0`: velocity of the background\n",
    "- `v1`: velocity of the block\n",
    "- `xc`: x center of the block\n",
    "- `yc`: y center of the block\n",
    "- `dx`: width of the block\n",
    "- `dy`: thickness of the block\n",
    "- `nx`: # of cells in x-direction (this is only active when `set_mesh=active`)\n",
    "- `ny`: # of cells in y-direction (this is only active when `set_mesh=active`)\n",
    "\n",
    "### Changing # of cells in $x$- or $z$- direction\n",
    "Related parameters for this task are: `set mesh`, `nx`, `ny`. \n",
    "Size of the 2D domain are fixed to 200m $\\times$ 400m, but the number of cells in each direction can be changed such that you can alter size of the cells in each direction. When you change either `nx` or `ny` make sure you choose `set mesh=active` otherwise `set mesh=inactive`. Note that once mesh setup is changed, velocity model is reset to a background value (`v0`). \n",
    "\n",
    "### Changing a parameter of a single block\n",
    "Although you can change the location, size, and velocity of the block there are few rules that you need to follow to do so. \n",
    "\n",
    "1. If you want to change the parameter of the block: first set `add block=active` then change parameters of the block (`v1`, `xc`, `zc`, `dx`, `dy`)\n",
    "\n",
    "2. Once you changed the parameters, make sure first choose `model type=background` then change that to `model type=block`\n",
    "\n",
    "### Adding more blocks\n",
    "You can also add multiple blocks. To add a block follow below steps:\n",
    "\n",
    "1. Set `add block=inactive`, then change the parameter of the new block using: `v1`, `xc`, `zc`, `dx`, `dy`. Velocity model will not change, but you can see the white lines which illustrate boundary of the new block.\n",
    "\n",
    "2. Once you are happy with the new block, set `add block=active`, then velocity model will be updated with the new block that you have set. \n",
    "\n",
    "3. Repeat 1 and 2 if you want to add more blocks. \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "290b55e8275e4e658dee7fa64308656a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(VBox(children=(FloatSlider(value=1000.0, continuous_update=False, description='v0', max=3000.0,…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "app = TomographyInversionApp()\n",
    "app.interact_plot_model()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step2: Simulate travel time data and add noise\n",
    "\n",
    "Within this app, by using the velocity model set up, we simulate traveltime tomography data and add Gaussian noise. This syntehtic data set will be used in the following inversion module. Controlling parameters are:\n",
    "\n",
    "- `percent (%)`: percentage of the Gaussian noise\n",
    "- `floor (s)`: floor of the Gaussain noise\n",
    "- `random seed`: seed to generate random variables having normal distribution\n",
    "- `tx_rx_plane` or `histogram`: choice of the plotting data\n",
    "- `update`: this buttion is for the interactin between the first app. If the velocity model is changed by altering the first app, you can simply click `update` to run simulation again with the updated velocity model. \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ec1471da7ff541a2a5a2a1c3f5499ba2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(Output(), Box(children=(Box(children=(BoundedFloatText(value=0.0, description='percent ($\\\\%$):…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "app.interact_data()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step3: $l_2$ inversion\n",
    "\n",
    "- `maxIter`: maximum number of iteration\n",
    "- `m0`: initial model\n",
    "- `mref`: reference model\n",
    "- `percentage`: percent standard deviation for the uncertainty\n",
    "- `floor`: floor value for the uncertainty\n",
    "- `chifact`: chifactor for the target misfit\n",
    "- `beta0_ratio`: ratio to set the initial beta\n",
    "- `coolingFactor`: cooling factor to cool beta\n",
    "- `n_iter_per_beta`: # of interation for each beta value \n",
    "- `alpha_s`: $\\alpha_s$\n",
    "- `alpha_x`: $\\alpha_x$\n",
    "- `alpha_z`: $\\alpha_z$\n",
    "- `use_target`: use target misfit as a stopping criteria or not"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step 3-1: Run inversion"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SimPEG.DataMisfit.l2_DataMisfit assigning default std of 5%\n",
      "SimPEG.DataMisfit.l2_DataMisfit assigning default eps of 1e-5 * ||dobs||\n",
      "\n",
      "    SimPEG.InvProblem is setting bfgsH0 to the inverse of the eval2Deriv.\n",
      "    ***Done using same Solver and solverOpts as the problem***\n",
      "SimPEG.SaveOutputEveryIteration will save your inversion progress as: '###-InversionModel-2019-04-01-13-32.txt'\n",
      "model has any nan: 0\n",
      "=============================== Projected GNCG ===============================\n",
      "  #     beta     phi_d     phi_m       f      |proj(x-g)-x|  LS    Comment   \n",
      "-----------------------------------------------------------------------------\n",
      "x0 has any nan: 0\n",
      "   0  2.39e+06  3.40e+02  4.00e-02  9.60e+04    1.41e-02      0              \n",
      "   1  1.20e+06  6.76e+02  3.53e-06  6.81e+02    3.20e+05      0              \n",
      "   2  5.98e+05  6.60e+02  1.37e-05  6.68e+02    3.15e+05      0              \n",
      "   3  2.99e+05  6.30e+02  5.14e-05  6.45e+02    3.05e+05      0   Skip BFGS  \n",
      "   4  1.50e+05  5.77e+02  1.83e-04  6.04e+02    2.87e+05      0   Skip BFGS  \n",
      "   5  7.48e+04  4.94e+02  5.91e-04  5.38e+02    2.59e+05      0   Skip BFGS  \n",
      "   6  3.74e+04  3.84e+02  1.66e-03  4.46e+02    2.17e+05      0   Skip BFGS  \n",
      "   7  1.87e+04  2.66e+02  3.93e-03  3.40e+02    1.67e+05      0   Skip BFGS  \n",
      "   8  9.35e+03  1.65e+02  7.79e-03  2.38e+02    1.18e+05      0   Skip BFGS  \n",
      "   9  4.67e+03  9.27e+01  1.32e-02  1.54e+02    7.65e+04      0   Skip BFGS  \n",
      "------------------------- STOP! -------------------------\n",
      "1 : |fc-fOld| = 0.0000e+00 <= tolF*(1+|f0|) = 9.6048e+03\n",
      "1 : |xc-x_last| = 4.0147e-04 <= tolX*(1+|x0|) = 1.0141e-01\n",
      "0 : |proj(x-g)-x|    = 7.6521e+04 <= tolG          = 1.0000e-10\n",
      "0 : |proj(x-g)-x|    = 7.6521e+04 <= 1e3*eps       = 1.0000e-07\n",
      "0 : maxIter   =      20    <= iter          =     10\n",
      "------------------------- DONE! -------------------------\n"
     ]
    }
   ],
   "source": [
    "model, pred, save = app.run_inversion(\n",
    "    maxIter=20,\n",
    "    m0=1./1000.,\n",
    "    mref=1./1250.,\n",
    "    percentage=0,\n",
    "    floor=0.01,\n",
    "    chifact=1,\n",
    "    beta0_ratio=1e2,\n",
    "    coolingFactor=2,\n",
    "    n_iter_per_beta=1,\n",
    "    alpha_s=1/(app.mesh.hx.min())**2 * 1e4,\n",
    "    alpha_x=1,\n",
    "    alpha_z=1,\n",
    "    use_target=True\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step 3-2: Plot recovered model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0589ea759f9a4ea39797a12ec2cd9661",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=10, description='ii', max=10), Checkbox(value=False, description='fixed'…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "app.interact_model_inversion(model, clim=(750., 1800))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0025"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "1./20**2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step 3-3: Plot predicted data "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6afcc238eba54629af3fadf8af427f3d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=9, continuous_update=False, description='ii', max=9), Checkbox(value=Fal…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "app.interact_data_inversion(pred)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step 3-4: Plot misfit curves"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x144 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "save.plot_misfit_curves()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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KoBlQPfNbFtTe3dgaTJGTfuCzFHx2GzFSjpXUrmk8oULF270mqchzCwXaQawsrRVv5i2pj6Fav/vjqRvAWXAjVn6EhF3RURZRJT17Nlzo9cqrwf2iTgzq480A3gesEOV37cHPqipj6RWQGcyy9PXtG1N7YuALskYm+xL0uHA1cCxEbG6vm+k8lK0119/ndWr6725mbVQaQbwG0Df5OqENmROqo2p1mcMcEby/ETghch85WwMMDS5SmInoC/wek1jJtu8mIxBMubfACTtD/wfmfD9KJc30r17d/bcc08+++wz3nzzzVyGMLMWKLUATuZjLwaeBqYDD0XEVEnXSjo26fZHoLukWcBlwJXJtlOBh4BpwFPARRGxrqYxk7F+CFyWjNU9GRsyUw5bAg9LektS9b8E6sTXA5tZfcn3MKi/srKyKC8v36jt3nvv5YwzzmDIkCH89a9/TakyMysGkiZGRFlt/fxNuAKpeiLOf6mZWV04gAtk5513ZptttmHRokXMmDEj7XLMrAlwABeIJA499FAALrvsMioqKmrZwsxaOgdwAV133XX06NGDsWPHcsEFF3gqwsw2ywFcQLvuuiuPPfYY7dq14w9/+APXXXdd2iWZWRFzABfYQQcdxAMPPIAkfvKTn3DPPfekXZKZFSkHcAM47rjjuPXWWwH4zne+wzPPPJNyRWZWjBzADeSiiy7iBz/4ARUVFZxwwgm89dZbaZdkZkXGAdyAfvWrX3HKKaewYsUKjj76aK8bZ2YbcQA3oJKSEv70pz8xcOBA5s+fz+DBg33TdjPbwAHcwNq2bcujjz7KXnvtxfTp0znuuOP47LPP0i7LzIqAA7gRdOnShSeffJJtt92WcePGsf322zN06FD+9Kc/MW/evLTLM7OU+GY8Och2M566mDx5MieddBLvvPPORu39+vXjyCOP5Mgjj+SQQw5hiy22KFSpZpaCut6MxwGcg1wDGCAimDlzJs888wzPPPMML774IitWrNjweps2bejfvz9HHXUURx55JPvssw8lJf6HillT4gBuQPkEcHVr1qxh/PjxGwK5vLx8o68wb7XVVhxxxBEceeSRHHHEEfTq1asg+zWzhuMAbkCFDODqFi1axPPPP78hkKvPEe+zzz4MGDCAHj160LlzZzp16rThZ9XnnTt3ZosttiCzILSZNSYHcANqyACuKiJ4++23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wYMZO3Zs2mWZWR6KIoABImJORAwGepGZm/0msEtE/LkAw48BzkienwH8rUr76cnVEAcByyqnKopR5c3czzvvPD777DOGDBnCI488knZZZpajogngSsmR7uMR8UhEzKvv9pIeAF4jc1vLeZLOIXMlxRGSZgJH8N8rK54EZgOzgLuBCwvyJhpQSUkJd9xxB9///vdZu3Yt3/zmN7nvvvvSLsvMclA034RrShrym3B1FREMHz6cn//85wAcf/zx/OhHP6KsrNYv35hZA2tS34Sz+pPEtddey80330zbtm159NFH+cIXvsBRRx3FuHHjvNSRWRPgAG7iLrvsMubMmcMVV1zBlltuyTPPPMOhhx7KgAEDGDt2rIPYrIg5gJuBXr16ccMNNzB37lx++tOf0rVrV1599VWOPvpoDjjgAEaPHs26dc32bp5mTZYDuBnp1q0bw4cPZ+7cudx4441ss802TJo0iZNOOom99tqLkSNHetkjsyLiAG6GOnbsyLBhw5gzZw633347vXv3ZsaMGZx55pn07duX22+/nU8//TTtMs1aPAdwM9auXTsuuOACZs6cyciRI9ljjz2YO3cuF110ETvttBM33HADn3zySdplmrVYDuAWoHXr1px++ulMnTqV0aNHs//++7NgwQJ++MMfsuOOOzJ8+HCvvmGWAgdwC1JSUsIJJ5zAxIkTGTt2LP3792fp0qVce+219O7dm2HDhjF/ftF+EdCs2XEAt0CSGDRoEK+88grjxo1j0KBBrFy5kptvvpk+ffpwwQUXMGfOnLTLNGv2HMAtXOX1wuXl5ZxwwgmsXbuWO++8k759+3L66af7JvBmDcgBbAAbrheeMmUKp59+OgD33Xcfe++994ZpCzMrLAewbaRfv36MHDmSmTNncsEFF9CmTRv+8pe/UFZWxqBBgxg3blzaJZo1Gw5gy2qnnXbi9ttvZ86cOQwbNowtttiCp59+2l9zNisgB7BtVq9evbjxxhuZO3cuw4cPp2vXrvz973/315zNCsABbHXSvXt3fvrTnzJ37lxuuOEGtt566w1fc9577739NWezHDiArV46duzIFVdcwZw5c7jtttvo3bs3b7/9tr/mbJYDB7DlpH379lx44YXMnDmTe+65h913332jrznfeOON/pqzWS1azIoYknYHHqzStDPwE6AL8B2gcq35H0XEk5sbqxhW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\n",
      "text/plain": [
       "<Figure size 360x576 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "save.plot_tikhonov_curves()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
